package com.quanyan.assets.service;

import com.quanyan.api.APIRequest;
import com.quanyan.api.APIResponse;
import com.quanyan.assets.entity.TbUserAssets;
import com.quanyan.assets.request.*;
import com.quanyan.assets.response.RespAdminAddEggs;
import com.quanyan.assets.response.RespEggsAccount;
import com.quanyan.assets.response.RespRuleUseStatus;
import com.quanyan.assets.response.RespUserAccumulateModify;
import com.quanyan.common.Plugin.PageObj;
import com.quanyan.common.enums.BaseEnum;
import com.quanyan.orderpay.response.RespPreOrder;
import com.quanyan.orderpay.response.mq.OrderNotifyMsg;
import com.quanyan.orderpay.response.mq.RefundNotifyMsg;

import java.math.BigDecimal;
import java.text.ParseException;
import java.util.List;

/**
 * Created by wmb on 2016/6/28.
 */
public interface EggsService {

    APIResponse<RespEggsAccount> account(int uid);

    APIResponse<RespPreOrder> rechange(APIRequest<ReqEggsRechange> apiRequest,int uid);

    APIResponse<RespUserAccumulateModify> randomEggs(ReqRandomEggs reqRandomEggs, int uid);

    APIResponse<RespRuleUseStatus> ruleUseStatus(ReqRuleUseStatus reqRuleUseStatus, int uid);

    APIResponse<BaseEnum> payCallBack(OrderNotifyMsg orderNotifyMsg);

    APIResponse<BaseEnum> closeCallBack(OrderNotifyMsg orderNotifyMsg);

    APIResponse<BaseEnum> applyRefundCallBack(RefundNotifyMsg refundNotifyMsg);

    APIResponse<BaseEnum> refundCallBack(RefundNotifyMsg refundNotifyMsg);

    APIResponse<BaseEnum> addEggs(ReqAdminAddEggs reqAdminAddEggs);

    APIResponse<PageObj<List<RespAdminAddEggs>>> queryAddEggs(ReqAdminAddEggsQuery reqAdminAddEggsQuery) throws ParseException;
}
